package com.cskaoyan.javase.method._2exercise;

/**
 * 计算器类(针对int类型)
 *
 * @since 16:33
 * @author wuguidong@cskaoyan.onaliyun.com
 */
public class Calculator {
    public static void main(String[] args) {
        System.out.println(power(2, 10));
    }

    // 加
    public static int add(int num1, int num2) {
        return num1 + num2;
    }

    // 减
    public static int subtract(int num1, int num2) {
        return num1 - num2;
    }

    // 乘
    public static int multiply(int num1, int num2) {
        return num1 * num2;
    }

    // 除
    public static double divide(double num1, double num2) {
        return num1 / num2;
    }

    // 求平方
    public static int square(int num) {
        return num * num;
    }

    // 求a的n次方,是一种幂运算
    public static int power(int a, int n) {
        // Math.pow(double,double)
        /*
        java.lang包下的Math类是数学工具类,Java当中和数学运算相关的内容都在该类下
            int --> double 是自动类型转换 所以a和n是可以直接传入Math.pow方法的
            但是double --> int是强制类型转换,所以Math.pow方法的返回值是不能直接作为power方法的返回值的
          */
        return (int) Math.pow(a, n);

        // 当然幂运算也可以自己手动用循环实现
    }
}
